Semiconductor integrated circuits often incorporate hundreds of thousands of semiconductor elements on a single chip. These elements are interconnected to perform a desired function.
One such function that may be performed by an integrated circuit chip is random number generation. A random number generator (RNG) is a device designed to generate a sequence of elements, such that the sequence can be used as a random one. This randomness may typically be evaluated by various randomness test suites that measure the cryptographic strength of the random sequence produced by the random number generator. Many components used as random number generators are actually pseudorandom or otherwise cryptographically weak; they may incorporate some appearance of randomness, but actually be revealed to have more or less predictability when analyzed. On the other hand, a cryptographically strong random number generator generates a random number sequence that remains unpredictable despite significant analysis, so that it becomes computationally infeasible to predict what a future bit of the random output will be, even given complete specification of the random number generator.
Cryptographically strong RNG's are used in cryptographic integrated circuits for cryptographic tasks such as key generation, stream ciphers' design, and so on.
Improved methods and apparatus are desired for generating true random numbers with a unit that is fast, compact, and cryptographically strong.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.